package exception;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 重写一个含有throws声明的异常抛出的方法，对throws的重写规则
 * 继承超类的异常
 * ------允许
 * 1：不抛出任何异常
 * 2.抛出部分异常
 * 3.允许抛出超类异常的子类异常
 * -----不允许的情况
 * 1.不允许抛出额外异常
 * 2.不允许抛出的异常比超类大
 */
public class ThrowsDemo {
    public void dosome() throws IOException, AWTException {
    }
}

class SubClass extends ThrowsDemo {
    //继承超类的异常允许1：不抛出任何异常 2.抛出部分异常 3.允许抛出超类异常的子类异常
//    public void dosome(){} 允许子类不再抛出任何异常
//    public void dosome()throws IOException{} 允许抛出部分异常
    //允许抛出超类异常的子类异常 FileNotFoundException 继承自 IOException
//    public void dosome() throws FileNotFoundException{}
    /*
    不允许的情况
    1.不允许抛出额外异常
    2.不允许抛出的异常比超类大
     */
//public  void dosome () throws SQLException {}//  1.不允许抛出额外异常
// public  void dosome()throws Exception{}//2.不允许抛出超类方法抛出异常大的超类异常
}